查看原文
其他

南瑞继保电气公司研究团队提出电力监控系统实时DDoS攻击检测的方法

电气技术杂志社 CES电气 2023-06-20

中国电工技术学会活动专区


CES Conference






阅读提示:本文约 5100 字,建议收藏后阅读!




针对目前难以实时准确且低能耗地识别电力监控系统中分布式拒绝服务(DDoS)攻击的问题,南京南瑞继保电气有限公司的研究人员缪海飞、曹翔、林青、胡绍谦、汤震宇,在2022年第2期《电气技术》上撰文,基于电力监控系统专用防火墙装置提出一种实时DDoS攻击检测方法,可以实现资源占用低、识别准确率高的实时DDoS攻击检测。


近年来,电力信息安全事故频发,电力作为关乎国计民生的重要基础设施,一直以来都是网络攻击的重点对象,极易成为网络战的首要目标。乌克兰大停电事故也进一步印证了网络攻击已成为破坏电力等国家关键基础设施的新型武器。


电力监控系统的信息安全建设,已经从原来的只考虑网络边界的“十六字方针”(横向隔离、纵向认证、安全分区、网络专用)过渡到电力监控系统内部。尽管电力监控系统采用专网专用的形式,但是监控专用网络中一旦有设备或计算机被黑客攻陷,极易在专用网络环境下传播,导致产生网络安全问题。


在轨道交通网络信息系统、配电网自动化通信系统和直流控制保护系统中均存在较复杂的网络安全问题。其中,特别是分布式拒绝服务(distributed denial-of-service, DDoS)攻击带来的危害不可小觑,DDoS攻击的主要目的是消耗攻击目标的计算资源,令网络服务在一段时间内不可被访问,致使服务瘫痪,在电力监控系统中则会导致重要设备如监控后台无法及时响应控制命令,发生严重电力安全事故。DDoS攻击流量大、范围广、造成的损失大,已经严重威胁电力系统网络的安全,因此,如何使用较少的资源实时准确地检测出DDoS攻击是目前一个亟待解决的问题。


本文基于准确性和实时性要求,提出一种基于防火墙装置的软硬件结合的实时DDoS攻击检测方法,硬件负责采集数据,软件负责检测和分析,软硬件各司其职,大大提升了电力监控系统内DDoS攻击检测的准确性和实时性。




1  相关研究

国内外针对DDoS攻击检测的研究有很多,在电力监控系统网络环境和互联网环境下,也有很多方法来检测DDoS攻击。但是,相关文献的所提方法较少用于电力监控系统内部。因为这些方法要么计算量太大导致无法做到实时性,要么可以实时检测但是准确率较低,无法满足电力系统对攻击检测的实时性和准确性要求。

为解决上述问题,本文提出一种基于防火墙装置的软硬件结合的实时DDoS攻击检测方法。电力监控系统中采用的防火墙装置,一般都拥有可编程特性,本文利用电力监控系统防火墙的可编程特性,新增硬件计数器,通过读取硬件计数器对DDoS攻击进行预判断,在疑似发生DDoS攻击时,将报文提取至防火墙的软件层面,并运行机器学习模块对报文数据进行检测,从而实现资源占用低、识别准确率高的实时DDoS攻击检测。

本文基于电力监控系统专用防火墙装置,该装置用于电力监控系统内网络报文过滤,采用多核CPU作核心处理,同时辅以现场可编程门阵列(field programmable gate array, FPGA),两者互相配合,以便实现特定的功能。由于CPU与FPGA的结合,防火墙装置可以同时编写软硬件程序,控制其对报文的处理,实现可编程功能。

因此,本文在防火墙装置中编写软件代码,在FPGA中运行硬件程序,软件代码可以通过对应的应用程序接口(application programming interface, API)读取相应的硬件计数器,可以较为方便地在该平台上实现软硬件的配合,收发并分析报文,以及配置规则等,电力监控系统专用防火墙装置提供了硬件基础,可以实现实时DDoS攻击检测。


2  软硬件结合的DDoS攻击检测方法

本文从降低设备资源使用率、实时性和准确性出发,提出基于防火墙装置的软硬件结合的实时DDoS攻击检测方法,该方法由两大模块组成:基于FPGA的实时数据采集模块和基于机器学习的攻击识别模块。两大模块均在防火墙装置的用户空间中运行,数据采集模块基于FPGA进行编程,改变报文在防火墙中的流向,同时记录重要数据并保存在寄存器中;攻击识别模块提取寄存器值和报文特征值进行在线识别,基于机器学习技术可以高准确率地检测出是否存在DDoS攻击。

2.1  基于FPGA的实时数据采集模块

在对DDoS攻击的检测中,实时数据采集比较影响网络性能,容易造成网络堵塞,影响防火墙装置的正常转发,因此采用硬件方式实时感知网络状态。经过对DDoS攻击的调研可知,攻击过程中一般会在短时间内有大量不同的源端访问同一个目的机器,而目的机器无法处理大量的请求,从而导致拒绝服务。

这样在链路上可以看到接收的报文数远大于发出的报文数,会出现收发数量不对等和流量激增等特征,利用这样的特征可以通过对FPGA编程,从硬件层面上获取网络链路状态值,同时将数据保存在寄存器中,便于软件程序读取硬件计数器,以最小的资源代价提前感知网络异常状态。

实时采集模块基于FPGA的可编程特性,将流经防火墙的报文在经过简单的计算后保存在相应的计数器中,用户空间的软件可以通过硬件API获取实时采集的数据。报文在被FPGA捕获到后,首先解析用户定义的关键字信息,随后根据关键字提取报文中的相应值,然后通过查表模块将获取的值更新到对应的硬件寄存器中,最后报文由自定义动作模块转发到目的地址,硬件原理框图如图1所示。

图1  硬件原理框图

为了减少软件和硬件之间的交互时间,本文在收集消息特征时使用字节速率来帮助实现实时攻击预测。一般来说,正常流中的字节率会比较稳定。当主机受到DDoS攻击时,字节率的差异会在短时间内急剧增加,在统计上呈现出一定的突变。

本文基于滑动窗口法进行DDoS攻击检测预判,通过计算相邻时间段内的状态及状态的变化量推算是否产生异常。采取该方法以窗口的形式计算网络中的字节速率,判断电力监控系统网络环境是否稳定无突变等。


综上所述,基于FPGA的实时数据采集模块能够实时采集数据,并根据阈值进行DDoS攻击检测预判,一旦检测到网络异常,将通知DDoS攻击识别模块,在该模块中,利用机器学习技术对DDoS攻击进行识别。

2.2  基于机器学习的攻击识别模块

1)基于机器学习的DDoS攻击识别机制

在发生DDoS攻击时,网络环境中的某些特征在统计上与正常流量差异较为明显,如IP数量、端口数量、双向报文数量等特征值。因此可以利用机器学习技术分析正常流量和异常流量数据,提取特征值并建模,以识别DDoS攻击。

基于机器学习的DDoS攻击识别机制首先进行训练和测试,训练数据集和测试数据集的处理如下文所述。训练和测试完成后将得到分类模型,DDoS攻击识别器加载该分类模型后根据实时从报文中提取出的特征值进行DDoS攻击识别。

为了达到实时性,本文选择以2s为时间单位,在有报文流入该模块后,分析每个周期的流量情况,提取该周期内的特征值,形成特征向量,由训练好的DDoS攻击识别程序进行分类,以进行实时DDoS攻击检测。

2)数据集处理

为达到最佳训练效果,本文选用CICIDS2017数据集,该数据集由标记的网络流组成,包括完整的数据包pcap文件和进行过标记的CSV文件等。

本文首先从数据集中提取与DDoS攻击相关的报文和相应的CSV文件,根据已知的DDoS攻击的发生时间和攻击者与受害者IP等信息,对不同的记录进行标记,将正常记录标记为0,DDoS攻击记录标记为1,提取出正常记录约9.0万条,攻击记录约13.0万条,共约22.0万条。

随后对数据集进行随机划分,按照9:1的比例将数据集划分为训练数据集和测试数据集,数据集划分结果见表1。

表1  数据集划分结果

3)特征选择与分类器

特征选择指的是在特征向量中选择出那些优秀的特征,组成新的、更精简的特征向量的过程。它在高维数据分析中十分常用,可以剔除冗余和无关的特征,提升分类器的性能。

本文在选择特征时基于协议分析和流量模型分析等两大类方法,泛化性较好。本文采用封装的特征选择方法,其核心思想是将子集的选择视为一个搜索优化问题,生成不同的组合,对这些组合进行评估,并与其他组合进行比较。

在特征选择的过程中,采用的具体算法为递归消除特征法。首先随机构建模型,然后选出最差的特征,把选出来的特征剔除,在剩余的特征中重复这个过程,直至遍历完所有的特征值。该特征选择法使用比较简单,可以面向分类器算法进行优化,但由于存在庞大的搜索空间,因此可能具有不稳定性,需要通过知识储备预先定义启发式策略,因此本文在选择特征的过程中,同时考虑了Karimazad的建议,最终选择表2中的11个特征值进行DDoS

表2  DDoS攻击检测算法特征值

攻击识别和分类。其中,8个特征值为计数特征值,可直接从防火墙设备上的硬件计数器获取,3个特征值为计算特征值,需要在防火墙软件层进行简单计算。

分类器作用是在标记好类别的训练数据基础上判断一个新的观察样本所属的类别。针对DDoS攻击识别,分类器依据的学习方式为监督学习,每个训练样本包括训练样本的特征和相对应的标签。

本文选取支持向量机(support vector machine, SVM)分类算法,利用支持向量机建立的分类器能够同时最小化经验误差与最大化几何边缘区,提高查准率和查全率。软件选择开源的支持向量机的库LibSVM。

2.3  软硬件结合的DDoS攻击检测原型系统

为验证所提的DDoS攻击检测算法能够低能耗、高准确率地检测出DDoS攻击,在电力监控系统防火墙装置中编写软硬件代码,根据2.1节和2.2节中的算法实现了DDoS攻击检测原型系统,原型系统运行在该防火墙上。

原型系统由三个模块组成:FPGA模块、硬件感知模块和在线识别模块。首先根据需求对FPGA进行编程,使电力监控系统防火墙设备在转发报文的同时可以进行计数,并提供2.2节中要求的计数型特征值。

硬件感知模块定期读取防火墙的硬件计数器,根据阈值判断网络是否波动。在线识别模块在硬件感知模块识别出异常的网络波动后启动,提取报文的特征值,并使用训练好的分类器模型识别是否为DDoS攻击。原型系统的流程如图2所示。


3  实验与分析

3.1  实验环境

采用变电站网络交换机作为网络交换设备,电力系统专用防火墙中安装DDoS攻击检测原型系统,PC作为终端,针对服务器进行DDoS攻击检测实验。所有机器均直接或间接地连接在变电站网络交换机上,彼此可以互相访问,其中服务器与PC之间安装有电力监控系统防火墙。实验拓扑如图3所示。

在PC1和PC2上,运行DDoS攻击流量产生软件Hyenae,用于模拟对服务器进行DDoS攻击,PC和服务器上均运行变电站站内通信常用程序等以模拟正常流量。PC2除了运行以上程序外,还用作电力监控系统防火墙的控制器,用于配置流表、下发规则、离线训练分类器、下发分类器模型及控制DDoS攻击产生器等。在电力监控系统防火墙中,运行2.3节中实现的软硬件结合的DDoS攻击检测原型系统。 

图2  原型系统流程
 

图3  实验拓扑

3.2  实验内容

首先通过Hyenae程序产生大量的正常流量和TCP、UDP、ICMP等攻击流量,在防火墙中采集报文,每隔单位时间汇总至控制器处,本次数据采集共运行2天,每一种类型(Normal、TCP、UDP、ICMP)各24h,每隔2s采集一次数据,共采集17.28万条数据,然后在控制器上训练SVM分类器,并采用Radial Basis核函数进行验证。训练完成后控制器将分类模型更新至电力监控系统防火墙装置的配置中。

实验开始后,在两台机器之间正常通信,将某电力监控系统站内报文进行还原和重放,分类结果一直显示为0(即没有攻击产生),在Hyenae产生攻击流量(TCP SYN Flood)后,分类结果显示为1(即有TCP SYN Flood攻击),当调整DDoS攻击类型后,如进行UDP Flood攻击时,电力监控系统防火墙装置中的分类程序显示结果为相应的代码。

3.3  实验结果分析

在发起攻击后,本实验监控DDoS攻击检测和识别的实时性能。实验发现,识别系统可以在1~2个周期内,即2s内确定DDoS攻击类型,并通过控制台打印攻击类型。每种攻击类型测试10min,计算周期2s,计算识别准确率。表3为实时DDoS攻击识别程序对不同类型攻击的识别准确率。

表3  不同DDoS攻击的识别准确率

由表3可见,该方法能够准确识别TCP、UDP、ICMP三种不同类型的DDoS攻击,其中对TCP SYN Flood攻击的识别准确率最高,达到96.3%。不同算法的对比见表4,由表4可知,与Karimazad提出的RBF神经网络算法和Subbulakshmi提出的EMC-SVM算法相比,本文提出的基于硬件感知器和在线SVM的DDoS攻击检测有更高的准确率,较高的准确率为后续的DDoS攻击流量的清洗提供了前提。

表4  不同攻击检测算法的准确率对比

同时注意到,在线识别对防火墙装置的系统资源消耗较大,所以本文采用硬件感知结合机器学习在线识别的方式对DDoS攻击进行检测,降低了资源使用率。实验中对防火墙装置的资源使用率进行了监控,其在识别期间的CPU和RAM的使用率变化曲线如图4所示。

由图4可见,系统运行时CPU只使用了30%左右,当开始在线识别DDoS攻击后,CPU使用率最高也只是在35%左右,而RAM则一直稳定在42%~48%之间。由此可见,本文提出的实时DDoS攻击检测方法具有占用系统资源小的特点。

图4  检测期间防火墙装置的资源使用率

4  结论

本文提出了一种基于电力监控系统防火墙装置的软硬件结合的实时DDoS攻击检测方法,该方法采用软硬件结合的方式,首先利用硬件计数器感知网络状态,占用资源较少,在检测到可能的网络异常后,使用机器学习技术在线识别DDoS攻击。由于电力监控系统防火墙装置可以从硬件层面提供大多数特征值,因而大大减少了计算量,达到实时检测的效果,且准确率较高。实验表明,本文所提方法可以有效地进行实时DDoS攻击检测。


本文编自2022年第2期《电气技术》,论文标题为“电力监控系统实时DDoS攻击检测方法”,作者为缪海飞、曹翔 等。


下载论文PDF版,请点击左下角“阅读原文”,访问期刊网站。



推荐阅读


中国电工技术学会
新媒体平台




学会官方微信

电工技术学报

CES电气



学会官方B站

CES TEMS

今日头条号



学会科普微信

新浪微博

抖音号


联系我们

《电工技术学报》:010-63256949/6981

邮箱:dgjsxb@vip.126.com


《电气技术》:010-63256943

邮箱:dianqijishu@126.com


编务:010-63256994;订阅:010-63256817

广告合作:010-63256867/6838

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存